/**
 * Copyright © 2024 北京迅安网络系统有限责任公司 Co., Ltd. All rights reserved.
 */

#ifndef OSID_MANAGER_PROXY_H
#define OSID_MANAGER_PROXY_H

#include <string>

#include "i_osid_manager.h"
#include "iremote_proxy.h"
#include "string_ex.h"

namespace OHOS {
namespace OSID {
namespace osidService {

class OsidManagerProxy : public OHOS::IRemoteProxy<IOsidManager> {
public:
    explicit OsidManagerProxy(const sptr<IRemoteObject>& remote) : IRemoteProxy<IOsidManager>(remote) {}

    bool VerifyApk(std::string path) override;
    std::string CurlTest() override;
    bool friGetPmsActiveState() override;
    std::string friGetDeviceOSID() override;
    std::string friGetDevicePMSID() override;
    bool friCheckOSID(std::string checkOSID) override;
    bool friCheckPMSID(std::string checkPMSID) override;
    std::string friGetRealCert() override;

private:
    static inline BrokerDelegator<OsidManagerProxy> delegator_;
};
} // namespace osidService
} // namespace OSID
} // namespace OHOS

#endif